In [ ]:
%matplotlib inline

Spring Oscillation Relationship of Time and Mass

Hussain Hassan, Paul Nator, Esteven Velazquez

Introduction

Hooke's law states the force needed to extend a spring a some distance is proportional to that distance. Knowing this information we can test to see if this is true by measuring oscillation times in relation to weight.

For this simple harmonic motion we can expect time to be linearly proportional when they are equally displaced at different weights.

$$ F_{net}=-kx$$

Procedure

For this lab, we used a spring apparatus and masses of 100g each. We applied each weight in 100g increments up to 300g. Afterwards the spring apparatus was pulled down about 1 cm from its equilibrium so that the weight and spring would oscillate. The amount of time in between each oscillation was recorded in slow motion and then measured. With the data collected we averaged the amount of time it takes it complete one oscillation for each weight.

Data & Analysis

100 Grams grams

Oscillations Time Time In between Oscillation
1 0 -
2 .41 .41
3 .85 .44
4 1.29 .44
5 1.8 .51
6 2.2 .4
7 2.61 .41
8 3.09 .48
9 3.55 .46
10 3.98 .43
Average Oscillation time 0.4422

200 Grams grams

Oscillations Time Time In between Oscillation
1 0 -
2 .56 .56
3 1.18 .62
4 1.77 .59
5 2.37 .60
6 2.97 .59
7 3.57 .61
8 4.20 .63
9 4.76 .56
10 5.38 .62
Average Oscillation time 0.597

300 Grams grams

Oscillations Time Time In between Oscillation
1 0 -
2 .80 .8
3 1.51 .72
4 2.23 .72
5 3.02 .79
6 3.67 .65
7 4.40 .73
8 5.13 .73
9 5.83 .70
10 6.62 .79
Average Oscillation time 0.7355

In [19]:
%matplotlib inline

import matplotlib.pyplot as plt


plt.plot([100,200,300], [3.98,5.38,6.62], 'r.')
plt.ylabel('Time to complete 10 Oscillations ')
plt.xlabel('Time (s)')
plt.title('Oscillations in relation to weight')
plt.axis([50, 350, 0.2, 1])

import numpy as np
import matplotlib.pyplot as plt

x = [100,200,300]
y = [3.98,5.38,6.62]

fit = np.polyfit(x,y,1)
fit_fn = np.poly1d(fit) 

plt.plot(x,y, 'bo', x, fit_fn(x), '--k')
plt.xlim(95, 305)
plt.ylim(3.5, 6.7)

print(fit_fn)


 
0.0132 x + 2.687

Results

Equation of line: $$y = 0.0132x + 2.687$$

Conclusion

With our data we made a model that shows how the oscillation time is linearly proportional to the amount of weight on the spring. When we added more weight the period of oscillation would proportionaly increase. We can conclude that our data collected by our experiment does follow Hooke's law.